/*
 * CEtiquetarElemento.h - Grupo 5 - Prog. Avanzada 2011
 *
 *  Javier Dominguez - 4.901.161-6
 *  Marcelo Parada - 1.977.094-9
 *  Rodrigo Ruiz - 4.481.611-2
 *  Maximiliano Silvera - 4.106.938-6
 */

#ifndef CETIQUETARELEMENTO_H_
#define CETIQUETARELEMENTO_H_

#include <string>
#include "IEtiquetarElemento.h"
#include "../dt/ElementoDT.h"
#include "../dt/EtiquetaDT.h"
#include "../handler/HElemento.h"
#include "../handler/HEtiqueta.h"

using namespace std;

class CEtiquetarElemento: public IEtiquetarElemento
{
public:
	CEtiquetarElemento();

	virtual ColConcrete<EtiquetaDT*> * listarEtiquetasElementoYDisponibles(string nombreElemento);

	virtual ColConcrete<AlbumDT*> *obtenerListadoAlbumes();

	virtual ColConcrete<ArtistaDT*> *obtenerListadoArtistas();

	virtual void asociarElementoEtiqueta(ElementoDT* elementoDT, EtiquetaDT* etiquetaDT);

	virtual void crearEtiqueta(EtiquetaDT etiquetaDT);

	virtual void confirmarEtiquetado();



	virtual ~CEtiquetarElemento();
};

#endif /* CETIQUETARELEMENTO_H_ */
